package com.ctshk.rpc.bus.entity;

import java.math.BigDecimal;
import java.time.LocalTime;

import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName;
import com.ctshk.common.model.BaseEntity;
import com.ctshk.common.model.IBaseEntity;

import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;

/**
 * <p>
 * 巴士产品表
 * </p>
 *
 * @author 彭柳霖
 * @since 2021-02-08
 */
@Data
@EqualsAndHashCode(callSuper = true)
@TableName("t_bus_product")
@ApiModel(value="BusProduct对象", description="巴士产品表")
public class BusProduct extends BaseEntity implements IBaseEntity {

    private static final long serialVersionUID = 1L;

    @ApiModelProperty(value = "中港通-路线票种id")
    private String ticketCategoryId;

    @ApiModelProperty(value = "产品编码")
    private String productCode;

    @ApiModelProperty(value = "API出发城市id")
    private String thirdDepartureCityId;

    @ApiModelProperty(value = "出发城市id")
    private Long departureCityId;

    @ApiModelProperty(value = "出发城市名称")
    private String departureCityName;

    @ApiModelProperty(value = "API到达城市id")
    private String thirdArriveCityId;

    @ApiModelProperty(value = "到达城市id")
    private Long arriveCityId;

    @ApiModelProperty(value = "到达城市名称")
    private String arriveCityName;

    @ApiModelProperty(value = "线路id")
    private Long lineId;

    @TableField(exist = false)
    @ApiModelProperty(value = "线路名称")
    private String lineName;

    @ApiModelProperty(value = "班次码")
    private String shiftCode;

    @ApiModelProperty(value = "出发时间")
    private LocalTime departureTime;

    @ApiModelProperty(value = "座位库存数")
    private Integer inventory;

    @ApiModelProperty(value = "API上车站id")
    private String thirdBoardingStationId;

    @ApiModelProperty(value = "上车站id")
    private Long boardingStationId;

    @ApiModelProperty(value = "上车站名称")
    private String boardingStationName;

    @ApiModelProperty(value = "API下车站点id")
    private String thirdAlightingStationId;

    @ApiModelProperty(value = "下车站点id")
    private Long alightingStationId;

    @ApiModelProperty(value = "下车站点名称")
    private String alightingStationName;

    @ApiModelProperty(value = "巴士公司id")
    private Long busCompaniesId;

    @ApiModelProperty(value = "巴士公司名称")
    private String busCompaniesName;

    @ApiModelProperty(value = "产品来源")
    private Integer productSource;

    @ApiModelProperty(value = "供应商id")
    private Long supplierId;

    @ApiModelProperty(value = "供应商名称")
    private String supplierName;

    @ApiModelProperty(value = "适用人群")
    private Long intendedFor;
    
    @ApiModelProperty(value = "适用人群名称")
    private String intendedForName;

    @ApiModelProperty(value = "负责人ID")
    private Long chargePersonId;

    @ApiModelProperty(value = "负责人员工号")
    private String chargePersonNumber;

    @ApiModelProperty(value = "负责人姓名")
    private String chargePersonName;

    @ApiModelProperty(value = "负责人部门名称")
    private String chargePersonDepartment;

    @ApiModelProperty(value = "售卖状态")
    private Integer saleStatus;

    @ApiModelProperty(value = "打包状态")
    private Integer packStatus;

    @ApiModelProperty(value = "审批状态")
    private Integer approvalStatus;

    @ApiModelProperty(value = "审批单号")
    private String approvalNumber;

    @ApiModelProperty(value = "上架状态（1：上架  2：下架）")
    private Integer onShelfStatus;

    @ApiModelProperty(value = "推荐状态（1：推荐 2：不推荐）")
    private Integer recommendationStatus;

    @ApiModelProperty(value = "创建人")
    private Long createId;

    @ApiModelProperty(value = "修改人")
    private Long modifiedId;

//    @TableLogic
    @ApiModelProperty(value = "删除标识(0:未删除 1：已删除)")
    private Integer isDeleted;

    @ApiModelProperty(value = "价格类型（1：加数值  2：百分比）")
    private Integer priceType;

    @ApiModelProperty(value = "价格")
    private BigDecimal price;
}
